﻿using Autofac.Extras.DynamicProxy;
using Simple.Common;
using Simple.Entity;
using Simple.Entity.Dto;
using Simple.Entity.Params;
using Simple.Entity.View;
using Simple.Tools.Security;
using Simple.Tools;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Simple.IService
/// <summary>
/// 版 本 钢易智企2.0 V 2.0.0 钢易智企2.0
/// Copyright (c) 2023 杭州钢易科技有限公司
/// 创建人：曾东明
/// 日 期：2024
/// 描 述：
/// </summary>
{
	//[Intercept(typeof(CustomAutofacAop))]
	public interface IUserService
	{
		/// <summary>
		/// 添加一个用户
		/// </summary>
		/// <returns></returns>
		public  Task<Common.BaseMessage> AddAsync(UserDto userDto);

		/// <summary>
		/// 登录
		/// </summary>
		/// <returns></returns>
		public  Task<Common.BaseMessage> LoginAsync(LoginParameter loginParameter);


		/// <summary>
		/// 重置密码
		/// </summary>
		/// <param name="Id"></param>
		/// <returns></returns>
		public  Task<Common.BaseMessage> RestPasswordAsync(long Id);


		/// <summary>
		/// 更新
		/// </summary>
		/// <param name="userDto"></param>
		/// <returns></returns>
		public  Task<Common.BaseMessage> UpdateAsync(long Id, UserDto userDto);
	
		/// <summary>
		/// 删除
		/// </summary>
		/// <param name="Id"></param>
		/// <returns></returns>
		public  Task<Common.BaseMessage> SoftDeleteAsync(long Id);


		/// <summary>
		/// 查询用户
		/// </summary>
		/// <returns></returns>
		public  Task<Common.BaseMessage> GetPageAsync(UserParameter Params);

	}
}
